from ../IndiceDeCategorias import *
from Tkinter import *


class MenuPrincipal:
    def __init__(self):
        categorias = FabricaDeIndice().nuevoIndice()

        path = []

        root = Tk()
        menuDeCategorias = Menu(root)

        menuInicial = Menu(menuDeCategorias, tearoff=0)
        menuInicial.add_cascade(label="Todos los temas", menu=self.generarMenuDeIndices(categorias, menuInicial))
        menuDeCategorias.add_cascade(label="Categoria Sopa de Letras", menu=menuInicial)

        root.config(menu=menuDeCategorias)

        root.mainloop()



    def callback(self):
        print "Callback"

    def generarMenuDeIndices(self, indice, menu):

        nuevoMenu = Menu(menu, tearoff=0)
        if len(indice.subindices()) == 0:
            return nuevoMenu

        #indexx = 0
        for categoria in indice.subindices():
            if len(categoria.subindices()) == 0:
                #nuevoMenu.insert_separator(indexx)
                #indexx = indexx + 1
                nuevoMenu.add_command(label=categoria.nombre(), command=self.callback)
            if len(categoria.subindices()) > 0:
                #nuevoMenu.insert_separator(indexx)
                #indexx = indexx + 1
                nuevoMenu.add_command(label=categoria.nombre(), command=self.callback)
                nuevoMenu.add_cascade(label=categoria.nombre(), menu=self.generarMenuDeIndices(categoria, nuevoMenu), command=self.callback) 
            
        return nuevoMenu

#TEST

menu = MenuPrincipal()
